home *** CD-ROM | disk | FTP | other *** search
- ;copyword.asm - contains i86_wcopy()
-
- _TEXT SEGMENT BYTE PUBLIC 'CODE'
- _TEXT ENDS
- _DATA SEGMENT WORD PUBLIC 'DATA'
- _DATA ENDS
- CONST SEGMENT WORD PUBLIC 'CONST'
- CONST ENDS
- _BSS SEGMENT WORD PUBLIC 'BSS'
- _BSS ENDS
- DGROUP GROUP CONST, _BSS, _DATA
- ASSUME CS: _TEXT, DS: DGROUP, SS: DGROUP, ES: DGROUP
- _TEXT SEGMENT
-
- ;i86_wcopy(source, dest, count)
- ;copy count 16-bit words from source to dest. Count must not be zero.
- PUBLIC _i86_wcopy
- _i86_wcopy PROC far
- push bp
- mov bp,sp
- push es
- push di
- push ds
- push si
- push cx
-
- mov ax,[bp+6+2] ;s seg
- mov ds,ax
- mov si,[bp+4+2] ;s offset
- mov ax,[bp+10+2] ;d seg
- mov es,ax
- mov di,[bp+8+2] ;d offset
- mov cx,[bp+12+2] ;count
-
- cld
- rep movsw
-
- pop cx
- pop si
- pop ds
- pop di
- pop es
- pop bp
- ret
- _i86_wcopy ENDP
-
- _TEXT ENDS
- END
-